﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОтчетовПоПлатежамКомиссия
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"90f2c608-2980-4198-94e0-c6f021d18578\", \"Представление\":\"Аванс\"}")]
		Аванс = 0,
		[EnumMember(Value = "{\"Ссылка\":\"8318bffd-ac55-4277-8f81-68e0aa82423d\", \"Представление\":\"Оплата\"}")]
		Оплата = 1,
		[EnumMember(Value = "{\"Ссылка\":\"89e5bff9-fd84-4bbc-9d70-7feb701d662a\", \"Представление\":\"ЗачетАванса\"}")]
		ЗачетАванса = 2,//Зачет аванса
	}
	public static partial class ВидыОтчетовПоПлатежамКомиссия_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Аванс = new Guid("f0c6e094-d121-7885-4198-298090f2c608");
		public static readonly Guid Оплата = new Guid("e068818f-82aa-3d42-4277-ac558318bffd");
		public static readonly Guid ЗачетАванса = new Guid("eb7f709d-1d70-2a66-4bbc-fd8489e5bff9");//Зачет аванса
		public static ВидыОтчетовПоПлатежамКомиссия Получить(this ВидыОтчетовПоПлатежамКомиссия Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОтчетовПоПлатежамКомиссия Получить(this ВидыОтчетовПоПлатежамКомиссия Значение, Guid Ссылка)
		{
			if(Ссылка == Аванс)
			{
				return ВидыОтчетовПоПлатежамКомиссия.Аванс;
			}
			else if(Ссылка == Оплата)
			{
				return ВидыОтчетовПоПлатежамКомиссия.Оплата;
			}
			else if(Ссылка == ЗачетАванса)
			{
				return ВидыОтчетовПоПлатежамКомиссия.ЗачетАванса;
			}
			return ВидыОтчетовПоПлатежамКомиссия.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОтчетовПоПлатежамКомиссия Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОтчетовПоПлатежамКомиссия Значение)
		{
			switch (Значение)
			{
				case ВидыОтчетовПоПлатежамКомиссия.Аванс: return Аванс;
				case ВидыОтчетовПоПлатежамКомиссия.Оплата: return Оплата;
				case ВидыОтчетовПоПлатежамКомиссия.ЗачетАванса: return ЗачетАванса;
			}
			return Guid.Empty;
		}
	}
}